package com.sigmatrix.h5.web.mode;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sigmatrix.h5.auth.ILoginResponse;
import com.sigmatrix.h5.enums.UserType;
import com.sigmatrix.sc.jdbc.common.lang.User;

import io.swagger.annotations.ApiModelProperty;

/**
 * 
 *@ClassName: Login
 *@Description: 平台账号登录返回的结果
 *@author MH
 *@date 2017年9月22日 下午5:45:07
 */
public class Login extends User implements Serializable,ILoginResponse{

	private static final long serialVersionUID = -5987225395986360852L;
	
	@ApiModelProperty("用户ID")
	private Integer userId;
	
	@ApiModelProperty("openId")
	private String openId;
	
	@ApiModelProperty("企业公众号")
	private String appId;
	
	@ApiModelProperty("用户账号")
	private String account;
	
	@ApiModelProperty("用户姓名")
	private String name;
	
	@ApiModelProperty("登录token")
	private String token;
	
	@ApiModelProperty("企业ID")
	private Integer eseId;
	
	@ApiModelProperty("企业基础数据ID")
	private Integer basicModuleEseId;
	
	@ApiModelProperty("企业编码")
	private String eseCode;
	
	@ApiModelProperty("企业名称")
	private String eseName;
	
	@ApiModelProperty("经销商ID")
	private Integer dealerId;
	
	@ApiModelProperty(value="CRM账号类型",dataType="com.sigmatrix.h5.enums.CrmAcctType")
	private Short acctType;
	
	@ApiModelProperty("联系电话")
	private String phoneNumber;
	
	@ApiModelProperty("终端店ID")
	private Integer terminalShopId;
	
	@ApiModelProperty("推广码")
	private String promotionCode;
	
	@ApiModelProperty("服务人员推广码")
	private String dealersAcctPromotionCode;
	
	/**
	 * 1:管理员/2:业务员。
	 * 对应于db表_distribution_dealers_acct的user_Type字段。
	 * @see UserType
	 */
	@ApiModelProperty("用户类型")
	private Short userType;
	
	@ApiModelProperty("红包提现最大金额")
	private Double maxCount;
	
	@ApiModelProperty("红包提现最小金额")
	private Double minCount;
	
	@ApiModelProperty("红包提现最小单位")
	private Double minUnit;
	
	/**
	 * 零钱包总的类型 3 终端店零钱包 4业务员零钱包 2经销商零钱包
	 */
	@JsonIgnore
	private Short dealerType;
	
	public String getPhoneNumber() {
		return phoneNumber;
	}

	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}

	public Short getAcctType() {
		return acctType;
	}

	public void setAcctType(Short acctType) {
		this.acctType = acctType;
	}

	public Integer getDealerId() {
		return dealerId;
	}

	public void setDealerId(Integer dealerId) {
		this.dealerId = dealerId;
	}

	public String getEseCode() {
		return eseCode;
	}

	public void setEseCode(String eseCode) {
		this.eseCode = eseCode;
	}

	public Integer getBasicModuleEseId() {
		return basicModuleEseId;
	}

	public void setBasicModuleEseId(Integer basicModuleEseId) {
		this.basicModuleEseId = basicModuleEseId;
	}

	public Integer getEseId() {
		return eseId;
	}

	public void setEseId(Integer eseId) {
		this.eseId = eseId;
	}

	public String getAppId() {
		return appId;
	}

	public void setAppId(String appId) {
		this.appId = appId;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getTerminalShopId() {
		return terminalShopId;
	}

	public void setTerminalShopId(Integer terminalShopId) {
		this.terminalShopId = terminalShopId;
	}

	public Short getDealerType() {
		return dealerType;
	}

	public void setDealerType(Short dealerType) {
		this.dealerType = dealerType;
	}

	public Double getMaxCount() {
		return maxCount;
	}

	public void setMaxCount(Double maxCount) {
		this.maxCount = maxCount;
	}

	public Double getMinCount() {
		return minCount;
	}

	public void setMinCount(Double minCount) {
		this.minCount = minCount;
	}

	public Double getMinUnit() {
		return minUnit;
	}

	public void setMinUnit(Double minUnit) {
		this.minUnit = minUnit;
	}

	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public String getPromotionCode() {
		return promotionCode;
	}

	public void setPromotionCode(String promotionCode) {
		this.promotionCode = promotionCode;
	}

	public String getEseName() {
		return eseName;
	}

	public void setEseName(String eseName) {
		this.eseName = eseName;
	}

	public String getDealersAcctPromotionCode() {
		return dealersAcctPromotionCode;
	}

	public void setDealersAcctPromotionCode(String dealersAcctPromotionCode) {
		this.dealersAcctPromotionCode = dealersAcctPromotionCode;
	}

	public Short getUserType() {
		return userType;
	}

	public void setUserType(Short userType) {
		this.userType = userType;
	}
	
}
